﻿'Nombre:                         Manejador
'Descripcion:                    Clase que controla todas las operaciones sobre la tabla de movimientos
'Dependencias:                 
'Fecha de creación:              20090622
'Autor:                          VMORALES
'Fecha de modifcación:         
'Responsable:                  
'Num. de modifcación:            0

Option Explicit On
Option Strict On

#Region "Imports"

Imports Electrocucaracha.AdminPersonal.DAO

#End Region

Namespace Movimiento

    ''' <summary>
    ''' Clase que controla todas las operaciones sobre la tabla de movimientos
    ''' </summary>
    Public Class Manejador

#Region "Constantes"

#End Region

#Region "Miembros"

        Public Shared Event MovimientoCambiado()

        Private Shared _dao As IMovimientoDao = Nothing                             'Clase de acceso a los datos en la base de datos
        Private Shared _movimientoSeleccionado As Entidades.MovimientoDTO              'Movimiento el cual se encuentra seleccionado para trabajar

#End Region

#Region "Propiedades"

        ''' <summary>
        ''' Clase de acceso a los datos en la base de datos
        ''' </summary>
        ''' <value></value>
        ''' <returns>Unica instancia para el manejo de datos</returns>
        Public Shared ReadOnly Property Dao() As IMovimientoDao
            Get
                If _dao Is Nothing Then
                    _dao = DirectCast(Application.Ctx.GetObject("MovimientoDao"), IMovimientoDao)
                End If

                Return _dao
            End Get
        End Property

        ''' <summary>
        ''' Movimiento el cual se encuentra seleccionado para trabajar
        ''' </summary>
        ''' <value>Movimiento seleccionado en la aplicacion a ser validado contra lo existente en la base de datos</value>
        ''' <returns>Instancia del movimiento actual</returns>
        Public Shared Property Seleccion() As Entidades.MovimientoDTO
            Get
                Return _movimientoSeleccionado
            End Get
            Set(ByVal value As Entidades.MovimientoDTO)
                _movimientoSeleccionado = value
                RaiseEvent MovimientoCambiado()
            End Set
        End Property

#End Region

#Region "Contructores"

#End Region

#Region "Funciones"

#End Region

    End Class

End Namespace